import axios from 'axios'
import { ElMessage } from 'element-plus'

// 调用 axios.create() 函数，创建一个 axios 的实例对象，用 request 来接收
const request = axios.create({
  timeout: 50000,
  // 指定请求的根路径
  baseURL: '/api'
})

// 定义拦截器
request.interceptors.request.use(config => {
  return config
}, error => {
  console.log(error)
  return Promise.reject(error)
})


request.interceptors.response.use(result => {
  const res = result.data
  if (res.code === undefined || res.code == 200){
    return result.data
  }
  ElMessage.error({
    message: res.errorMsg || '网络错误',
    duration: 4000
  })
  return Promise.reject(res.errorMsg)
}, error => {
  if(typeof error.toJSON === 'function'){
    const {message, status} = error.toJSON()
    return Promise.reject(message)
  }
  return Promise.reject(error)
})

export default request